The present invention relates generally to a motion vector estimating system and method for estimating a motion vector of a macro block, which is a predetermined range of a frame/field of a dynamic image. More specifically, the invention relates to a motion vector estimating system and method for accumulating signal-strength differences between all picture elements of current and reference images with respect to proposed motion vectors in the macro block, to select the minimum accumulation result as a motion vector.
In the field of dynamic image processing, there has been proposed a technique for estimating a motion vector in a macro block by comparing signal strengths of corresponding picture elements in specific ranges of current and reference images for each of proposed motion vectors, accumulating values representative of signal-strength differences between all picture elements in the macro block with respect to each of the proposed motion vectors, sequentially comparing the accumulation results obtained for each of the proposed motion vectors, and selecting a proposed motion vector having the minimum accumulation result as a motion vector to be estimated. The reference image means an image corresponding to a macro block obtained by the translating of the macro block of the current image by a motion vector.
In the technique described above, there has been proposed a motion vector estimating circuit for sequentially arranging accumulator circuits in parallel in order to carry out the accumulation processing at a high speed using a small amount of data, and for assigning the operation for a proposed motion vector to each of the accumulator circuits to output the accumulation result data as a pipeline. In this motion vector estimating circuit, each of the accumulator circuits carries out the operation of the signal-strength difference using the luminance-value difference of the current and reference image data. Specifically, each of the accumulator circuits carries out the operation of an absolute value of "a luminance value of a picture element of a current image minus a luminance value of a picture element of a reference image".
FIG. 1 is a block diagram of a conventional motion vector estimating circuit. In this drawing, accumulating means 1 comprises first and second through n-th differential absolute-value accumulating circuits 2a and 2b through 2n, which are connected in parallel to each other as a pipeline, (n-1) pipeline registers 3a, 3b through 3(n-1) and 3(n-1), each of which is provided between the adjacent differential absolute-value accumulating circuits. In addition to the accumulating means 1, this motion vector estimating circuit further comprises a minimum-value information management circuit 4 for receiving the output of each of the differential absolute-value accumulating circuits to manage a minimum-value information, and a control circuit 5 for outputting a current image data D1 and a reference image data D2 with respect to the next motion vector on the basis of the output of the minimum-value information management circuit 4.
With this construction, the operation of the conventional motion vector estimating circuit will be described. In order to estimate a motion vector, it is required to carry out the accumulation sequence at least once with respect to each of proposed motion vectors in a predetermined range to estimate the accumulated value. Therefore, first, the control circuit 5 supplies an appropriate current image data D1 and a reference image data D2 to the respective accumulator circuits 2a through 2n forming the accumulating means 1. The current image data D1 are sequentially transferred to the pipeline registers 3a through 3(n-1). The accumulator circuits 2a through 2n calculate the absolute values of the differences between the transferred current image data D1 and the reference image data D2 supplied from the control circuit 5 as values of signal-strength differences, to accumulate the values of the signal-strength differences.
When the accumulation is completed with respect to all of the corresponding motion vectors, the accumulator circuits 2a through 2n output an accumulated value signal S1. After the minimum-value information management circuit 4 is initialized by the accumulated value signal S1 corresponding to a first proposed motion vector, the minimum-value information management circuit 4 compares the accumulated value signal S1 with the minimum value retained therein. If the accumulated value signal S1 is smaller than the value retained in the minimum-value information management circuit 4, the accumulated value S1 is updated as a newly retained value. Every time the retained value of the minimum-value information management circuit 4 is updated, a comparison result signal S2 is outputted to the control circuit 5. The respective accumulator circuits 2a through 2n are initialized before the operation of a newly proposed motion vector is started.
When the review of all of the proposed motion vectors is completed, the estimation of the motion vector is completed. Therefore, the conventional motion vector estimating circuit must operate to carry out the accumulations of the number of cycles per an arranged group of motion vector candidates, which can scan all of the regions in a macro block or a thinned-out macro block until the minimum value is sequentially estimated, and the conventional motion vector estimating circuit must always operate to carry out the accumulations of a fixed number of cycles regardless of the quality of an input image.
Referring to FIG. 2, the explanation of the operation of the conventional motion vector estimating system will be supplemented. In a case where the motion vector estimation is carried out by the pipeline architecture described above, the estimated values are accumulated with respect to the regions corresponding to the respective motion vectors, and the same estimation is carried out with respect to all of proposed motion vectors, so that a proposed motion vector for providing the minimum (or maximum) estimated value is selected therefrom as a motion vector. If the number of proposed motion vectors, which can be estimated at a time, is defined as a parallel number, the motion vector estimation is completed by repeating the accumulation the number of times obtained by dividing the number of all of the proposed motion vectors by the parallel number. Therefore, when the processing is carried out by parallel number m, this processing is repeated until no proposal remains after every m proposals are selected from the proposed motion vectors. For example, if the total number of motion vectors is 1024 and the parallel number is 16, the motion vector estimation is completed by repeating the accumulation 64 times.
In FIG. 2, a first estimation of accumulated values for proposed motion vectors 1 through m is first carried out, and then, second through n-th estimations thereof are sequentially carried out. Unless all of first through n-th estimations are carried out, the motion vector estimation are not completed.
As described above, the conventional motion vector estimating circuit must carry out the accumulation operations of a fixed number of cycles regardless of the quality of an input image, so that the power consumption required for the motion vector estimations of a number of cycles is great.
In addition, since the accumulation operation is carried out by supplying current the image and reference image data even if the accumulation result should be useless is a problem in that useless data flow is carried out while a predetermined operation for motion vector estimation is carried out.